home *** CD-ROM | disk | FTP | other *** search
- package sunw.demo.misc;
-
- import java.awt.Color;
- import java.awt.Component;
- import java.awt.Dimension;
- import java.awt.Font;
- import java.awt.FontMetrics;
- import java.awt.Graphics;
- import java.beans.PropertyChangeEvent;
- import java.beans.PropertyVetoException;
-
- public class Voter extends Component {
- private boolean vetoAll = true;
- private String text = "No";
- private transient int baseline;
-
- public Voter() {
- ((Component)this).setFont(new Font("Helvetica", 1, 36));
- ((Component)this).setBackground(Color.black);
- ((Component)this).setForeground(Color.red);
- }
-
- public void setVetoAll(boolean var1) {
- this.vetoAll = var1;
- if (this.vetoAll) {
- this.text = "No";
- } else {
- this.text = "Yes";
- }
-
- ((Component)this).repaint();
- }
-
- public boolean getVetoAll() {
- return this.vetoAll;
- }
-
- public void vetoableChange(PropertyChangeEvent var1) throws PropertyVetoException {
- if (this.vetoAll) {
- throw new PropertyVetoException("NO!", var1);
- }
- }
-
- public Dimension getPreferredSize() {
- FontMetrics var1 = ((Component)this).getFontMetrics(((Component)this).getFont());
- this.baseline = var1.getMaxAscent() + 2;
- int var2 = this.baseline + var1.getMaxDescent() + 2;
- int var3 = var1.stringWidth("Yes") + 8;
- return new Dimension(var3, var2);
- }
-
- public void paint(Graphics var1) {
- var1.setColor(((Component)this).getBackground());
- Dimension var2 = ((Component)this).getSize();
- var1.fillRect(0, 0, var2.width, var2.height);
- var1.setColor(((Component)this).getForeground());
- var1.setFont(((Component)this).getFont());
- var1.drawString(this.text, 4, this.baseline);
- }
- }
-